package org.wang.generalcode.modules.sys.converter;

import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
import org.wang.generalcode.modules.sys.pojo.model.Option;
import org.wang.generalcode.modules.sys.pojo.entity.DictItem;

import java.util.List;

/**
 * 字典项 对象转换器
 *
 * @author wangchong
 * @since 2022/6/8
 */
@Mapper(componentModel = "spring")
public interface DictItemConverter {

//    Page<DictPageVO> convertToPageVo(Page<DictItem> page);

//    DictForm toForm(DictItem entity);

//    DictItem toEntity(DictItem dictFormDictItems);

//    List<DictItem> toEntity(List<DictItem> dictFormDictItems);

//   DictItem convertToDictFormDictItem(DictItem entity);

//    List<DictForm.DictItem> convertToDictFormDictItem(List<DictItem> entities);

    @Mappings({
            @Mapping(target = "value", source = "id"),
            @Mapping(target = "label", source = "name")
    })
    Option<Long> convertToOption(DictItem dictItem);

    List<Option<Long>> convertToOption(List<DictItem> dictItems);
}
